Echo canceller having an adaptive filter with a dynamically adjustable step size

ABSTRACT

The present invention is directed to an echo canceller adapted for use in a communication system that includes a hybrid circuit. The echo canceller comprises an adaptive digital filter that generates an estimated echo signal {circumflex over (z)}[k] in response to: (i) a sampled input data sequence x[k] and (ii) an error signal sequence e[k] indicative of the difference between a near end signal sequence y[k] and the estimated echo signal {circumflex over (z)}[k]. The adaptive digital filter computes filter coefficients based upon the error signal sequence e[k] using a stochastic quadratic descent estimator, such as for example a least mean square (LMS) estimator, that employs a dynamically adjustable step size vector  μ [k]. The adaptive digital filter computes the dynamically adjustable step size vector  μ [k] of the form  
           μ   _          [     k   +   1     ]       =           μ   _          [   k   ]       +     α                       φ   _          [   k   ]       ·       x   _          [   k   ]              e        [   k   ]                |     μ   min       μ   max       ,                   
 
     where  φ [k+1]= φ [k]•( 1 − μ [k]• x   2 [k])+e[k] x [k] and α is a scalar. In an open loop embodiment, the dynamically adjustable step size vector  μ [k] equals to  μ [k]=μ[k] 1 , that is, all elements of the vector take the same value collapsing to the particular case of a scalar. The step size is computed using an expression of the form μ[k+1]=μ[k]+ε[k], where ε[k] is an empirically derived set of values.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to the field of echo cancellers, and in particular to an echo canceller that includes an adaptive filter that employs a dynamically adjustable step size.

[0002] As known, bothersome echoes occur in communication systems, such as telephone systems, that operate over long distances or in systems that employ long processing delays, such as digital cellular systems. The echoes are the result of electric leakage in the four-to-two/two-to-four wire hybrid circuit, due to an impedance mismatch in the hybrid circuit between the local loop wire and the balance network. To reduce the echoes, communication systems typically include one or more echo cancellers.

[0003]FIG. 1 is a block diagram illustration of a communication system 10 that connects at least two subscribers 12, 14. The first subscriber 12 is typically connected to the communication system 10 via a two-wire line 16 and a hybrid circuit 18. The hybrid circuit 18 connects the two-wire line 16 to the four-wire lines 20, 22. The first four-wire line 20 provides a signal to the second subscriber via a second hybrid circuit 24 and a two-wire line 26. Similarly, signals from the second subscriber 14 are routed to the first subscriber 12 over the two-wire line 26, the second hybrid circuit 24 and the four-wire line 20, 22. In one application, the hybrid circuits may be located in the telephone company central offices. To reduce the echo signals coupled by the hybrid circuit due to impedance mismatches, echo cancellers 30, 32 are included to attenuate the undesirable echoes.

[0004] Echo cancellers typically include an adaptive filter that generates an estimate of the echo and subtracts the estimate from the return signal. Like any adaptive discrete time filter, the tap weights of the filter are adjusted based upon the difference between the estimate of the echo signal and the return signal. The adaptive filter employs an adaptive control algorithm to adjust the tap weights in order to drive the value of the difference signal to zero or a minimum value.

[0005] A problem with prior art echo cancellers is the relatively long time it takes for the adaptive control algorithm to adapt the filter tap weights in order to drive the error signal value to zero. This is often referred to as speed of convergence. A widely used technique for adapting the tap weights is referred to as the least-mean-square (LMS) algorithm. Advantageously, the LMS algorithm is relatively easy to implement since it does not require measurements of the pertinent correlation functions, nor does it require matrix inversions. In order to decrease the amount of time it takes to drive the difference signal to zero, the adaptive control algorithm may adjust the step size μ used in the LMS algorithm to a larger value. Although using a relatively large fixed step size μ facilitates a rapid convergence, the large step size results in a relatively large residual error following convergence. As a trade-off between rapid convergence and a small residual error, some systems have employed a relatively large step size initially and then switch to a smaller predetermined step size as a function of sample count (i.e., time). This approach takes advantage of the improved speed of convergence associated with the initial large step size value, and the relatively small residual error associated with the smaller step size value.

[0006] Another problem with prior art echo cancellers has been the relatively large computational burden associated with the echo cancellers. In a digital signal processor embodiment (DSP), the echo canceller requires a relatively large percentage of the DSP's available processing power (e.g., MIPS). Similarly, in an application specific integrated circuit (ASIC) embodiment the relatively large computational burden leads to the use of a large number of gates to implement the echo canceller.

[0007] U.S. Pat. No. 6,223,194 entitled “Adaptive Filter, Step Size Control Method Thereof, and Record Medium Therefor” discloses various embodiments for adjusting the step size. However, a problem with the techniques and embodiments set forth in U.S. Pat. No. 6,223,194 is that they require a divide operation in order to compute the step size. Divide operations are undesirable in both DSP embodiments and ASIC embodiments of echo cancellers. Other embodiments disclosed in U.S. Pat. No. 6,223,194 are also computationally inefficient due to their need to compute square roots and vector norms.

[0008] Therefore, there is a need for an improved technique for dynamically adjusting the step size μ in an echo canceller having an adaptive filter that employs a stochastic quadratic descent algorithm such as LMS.

SUMMARY OF THE INVENTION

[0009] Briefly, according to an aspect of the invention, an echo canceller adapted for use in a communication system includes a hybrid circuit that comprises an adaptive digital filter. The adaptive filter generates an estimated echo signal {circumflex over (z)}[k] in response to: (i) a sampled input data sequence x[k] and (ii) an error signal sequence e[k] indicative of the difference between a near end signal sequence y[k] and the estimated echo signal {circumflex over (z)}[k]. The adaptive digital filter computes filter coefficients based upon the error signal sequence e[k] using a stochastic quadratic descent estimator that employs a dynamically adjustable step size vector μ[k]. The adaptive digital filter computes the dynamically adjustable step size vector μ[k] of the form μ[k+1]=μ[k]+αφ[k]•x[k]e[k]. In one embodiment, the vector φ[k] is updated according to the relationship φ[k+1]=φ[k]•(1−α[k]•x ²[k])+x[k]e[k], where α is a small positive scalar and the vectors are defined as u[k]=[u₁[k], u₂[k], . . . u_(N)[k]]^(T) and A•B denotes the dot product between vectors A and B.

[0010] Briefly, according to another aspect of the present invention, an echo canceller adapted for use in a communication system that includes a hybrid circuit comprises an adaptive digital filter. The adaptive filter generates an estimated echo signal {circumflex over (z)}[k] in response to: (i) a sampled input data sequence x[k] and (ii) an error signal sequence e[k] indicative of the difference between a near end signal sequence y[k] and the estimated echo signal {circumflex over (z)}[k]. The adaptive digital filter computes filter coefficients based upon the error signal sequence e[k] using a stochastic quadratic descent estimator that employs a dynamically adjustable step size vector μ[k]. The adaptive digital filter computes the dynamically adjustable step size dynamically adjustable step size vector μ[k], where ε[k] is an empirically derived set of values

[0011] In a preferred embodiment the stochastic quadratic descent estimator includes an LMS estimator that employs a dynamically adjustable step size vector μ[k].

[0012] The closed loop and open loop computational techniques of the present invention provide a computationally efficient technique for dynamically adjusting the step size of the adaptive filter, with good speed of convergence.

[0013] These and other objects, features and advantages of the present invention will become more apparent in light of the following detailed description of preferred embodiments thereof, as illustrated in the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWING

[0014]FIG. 1 is a block diagram illustration of a communication system that includes an echo canceller;

[0015]FIG. 2 is a block diagram illustration of an echo canceller;

[0016]FIG. 3 is a block diagram illustration of an adaptive filter used within the echo canceller of FIG. 2; and

[0017]FIG. 4 is a flow chart illustration of processing steps performed by the adaptive filter of FIG. 3.

DETAILED DESCRIPTION OF THE INVENTION

[0018]FIG. 2 is a functional block diagram illustration of an echo canceller 22. The echo canceller 22 receives a near end input signal sequence n[k] on a line 40, and due to the undesirable impedance mismatch of the hybrid circuit, an echo signal sequence z[k] on a line 42 is coupled to the near end input signal sequence n[k] to provide a signal sequence y[k] on a line 44.

[0019] The echo signal sequence z[k] on the line 42 is equal to the product of the far end transmit signal sequence x[k] on a line 45 and hybrid circuit impulse response h 46 (i.e., z[k]=h ^(T)[k]x[k]). Significantly, the echo canceller 22 includes an adaptive filter 48 that provides a estimated echo signal sequence {circumflex over (z)}[k] on a line 49. A difference signal e[k] indicative of the difference between the signal sequence y[k] and the estimated echo signal sequence {circumflex over (z)}[k] is computed and provided on a line 50.

[0020] Ideally, if the coefficients of the adaptive filter 48 are selected such that the impulse response $\underset{\_}{\hat{h}}\lbrack k\rbrack$

[0021] of the adaptive filter is equal to the impulse response h 46 of the hybrid circuit, then the value of the difference signal e[k] on the line 50 will be zero in the absence of near end input sequence n[k]. Accordingly, the adaptive filter 48 adapts its tap weights to drive the value of the difference signal e[k] on the line 50 to a minimum/optimum value (e.g., preferably zero).

[0022]FIG. 3 is a block diagram illustration of the adaptive filter 48 used within the echo canceller of FIG. 2. The adaptive filter 48 includes an adaptive control algorithm 56 that receives the difference signal e[k] on the line 50 and computes a value for each of the N coefficients ĥ_(i)[k] 57-60. The adaptive filter receives the far end signal sequence x[k] on the line 45 which is multiplied by first coefficients ĥ₁[k] 57, and the resultant product on a line 64 is input to a summer 66. The far end signal sequence x[k] on the line 45 is also input to the adaptive control algorithm 56. Similarly, a delayed version of the far end signal sequence x[k−1] on a line 68 is multiplied by second coefficients ĥ₂ [k] 58, and the resultant product on line 70 is also input to the summer 72. The product from each of the tap weights (e.g., 59, 60) is summed to generate the estimated echo signal {circumflex over (z)}[k] on the line 49. Details of the adaptive control algorithm 56 shall now be discussed.

[0023]FIG. 4 is a flow chart illustration of processing steps 100 performed by the adaptive filter of FIG. 3. A first step 102 involves initializing the echo canceller, including setting the estimated impulse value at time k=0 to zero (i.e., $\left( {i,{e.},\quad {{\underset{\_}{\hat{h}}\lbrack 0\rbrack} - 0}} \right)$

[0024] ) and setting the step size value at time k=0 to an initial value (i.e., μ[0]=μ₀). In addition, the vector φ at k=0 is also set to an initial value of zero (i.e., φ[0]=0). The details of the vector φ[k] shall be presented hereinafter. The value of the initial step size μ₀ can be selected by analyzing the transient behavior of the mean squared error of the LMS algorithm. From this analysis it is known that the step-size requirements for speed of convergence and steady state residual error are opposed. A large step-size will result in a fast speed of convergence but will render a high residual error, and conversely a small step-size would result in opposite behavior. Typically, in communication system applications the echo canceller requires a fast speed of convergence and a low residual error. A fixed step-size can not satisfy both requirements at once, therefore it is desirable to use a dynamically adjustable step-size. It is also known, that the step-size must be bounded to ensure algorithm stability. In this application, the initial step-size value would be chosen relatively large such that it achieves a fast speed of convergence, but of course within the stability boundaries. Step 104 is then performed to compute the estimated echo signal {circumflex over (z)}[k]. The estimate {circumflex over (z)}[k] can be computed using the expression:

z[k]=h ₀ ^(T) [k]x[k]  EQ. 1

[0025] Step 106 is performed next to compute the difference signal e[k] using the following expression: $\begin{matrix} {{e\lbrack k\rbrack} = {{{y\lbrack k\rbrack} - {\hat{z}\lbrack k\rbrack}} = {{{{\underset{\_}{h}}_{0}^{T}\lbrack k\rbrack}{\underset{\_}{x}\lbrack k\rbrack}} + {n\lbrack k\rbrack} - {{{\underset{\_}{\hat{h}}}^{T}\lbrack k\rbrack}{\underset{\_}{x}\lbrack k\rbrack}}}}} & {{EQ}.\quad 2} \end{matrix}$

[0026] Step 108 then computes new filter coefficient values. Specifically, the estimated impulse response is computed as follows: $\begin{matrix} {{\underset{\_}{\hat{h}}\left\lbrack {k + 1} \right\rbrack} = {{\underset{\_}{\hat{h}}\lbrack k\rbrack} + {{{\underset{\_}{\mu}\lbrack k\rbrack} \cdot {\underset{\_}{x}\lbrack k\rbrack}}{e\lbrack k\rbrack}}}} & {{EQ}.\quad 3} \end{matrix}$

[0027] where:

[0028]μ[k] is the past value of the step size vector.

[0029] Notably, the estimated impulse response $\underset{\_}{\hat{h}}\lbrack k\rbrack$

[0030] is preferably a function of the step size vector μ[k], the input signal x[k] and the difference signal e[k]. As discussed above, selecting the value of the step size μ[k] has classically involved a tradeoff between convergence speed and steady state error. According to an aspect of the present invention, step 112 is performed next to compute the dynamically adjustable step size vector μ[k]. Of course the step size value must always be in a range so the filter remains stable.

[0031] Step 112 computes vector φ[k] using the following expression:

φ[k+1]=φ[k]•(1−μ[k]•x ² [k])+e[k]x[k]  EQ. 4

[0032] The vector φ[k] denotes the gradient of the i^(th) element of the coefficient vector $\underset{\_}{\hat{h}}\lbrack k\rbrack$

[0033] with respect to the i^(th) element of step size vector μ[k]. Step 112 then computes a new value for the step size μ, using the following equation: $\begin{matrix} {{\underset{\_}{\mu}\left\lbrack {k + 1} \right\rbrack} = {{{\underset{\_}{\mu}\lbrack k\rbrack} + {\alpha \quad {{\underset{\_}{\varphi}\lbrack k\rbrack} \cdot {\underset{\_}{x}\lbrack k\rbrack}}{e\lbrack k\rbrack}}}|_{\mu_{\min}}^{\mu_{\max}}}} & {{EQ}.\quad 5} \end{matrix}$

[0034] where,

[0035] α is a small positive scalar constant value.

[0036] Significantly, the present invention provides a computationally efficient technique for dynamically adjusting the step size with adaptive filter, with good speed of convergence.

[0037] In an alternative embodiment, it is contemplated that the step size μ[k] may be adaptively computed using an open loop computation that does not use the error sequence e[k], nor the input signal. The step size is then computed using the following equation:

μ[k+1]=μ[k]+ε[k]  EQ. 6

[0038] where ε[k] is an empirically derived set of values.

[0039] The echo canceller may be implemented in a DSP, an ASIC, or a general purpose processor.

[0040] Although the present invention has been shown and described with respect to several preferred embodiments thereof, various changes, omissions and additions to the form and detail thereof, may be made therein, without departing from the spirit and scope of the invention. 

What is claimed is:
 1. An echo canceller adapted for use in a communication system that includes a hybrid circuit, said echo canceller comprising: an adaptive digital filter that generates an estimated echo signal {circumflex over (z)}[k] in response to (i) a sampled input data sequence x[k] and (ii) an error signal sequence e[k] indicative of the difference between a near end signal sequence y[k] and the estimated echo signal {circumflex over (z)}[k], wherein said adaptive digital filter computes filter coefficients based upon said error signal sequence e[k] using a stochastic quadratic descent estimator that employs a dynamically adjustable step size vector μ[k] and said adaptive digital filter comprises means for computing said dynamically adjustable step size vector μ[k] of the form ${\underset{\_}{\mu}\left\lbrack {k + 1} \right\rbrack} = {{{\underset{\_}{\mu}\lbrack k\rbrack} + {\alpha \quad {{\underset{\_}{\varphi}\lbrack k\rbrack} \cdot {\underset{\_}{x}\lbrack k\rbrack}}{e\lbrack k\rbrack}}}|_{\mu_{\min}}^{\mu_{\max}},}$

, where φ[k+1]=φ[k]•(1−μ[k]•x ²[k])+e[k])+e[k]x[k] and α is a scalar.
 2. The echo canceller of claim 1, wherein said stochastic quadratic descent estimator comprises a least mean square (LMS) estimator that includes said dynamically adjustable step size.
 3. An echo canceller adapted for use in a communication system that includes a hybrid circuit, said echo canceller comprising: an adaptive digital filter that generates an estimated echo signal {circumflex over (z)}[k] in response to (i) a sampled input data sequence x[k] and (ii) an error signal sequence e[k] indicative of the difference between a near end signal sequence y[k] and the estimated echo signal {circumflex over (z)}[k], wherein said adaptive digital filter computes filter coefficients based upon said error signal sequence e[k] using a stochastic quadratic descent estimator that employs a dynamically adjustable step size μ[k] and said adaptive digital filter comprises means for computing said dynamically adjustable step size μ[k] of the form μ[k+1]=μ[k]+ε[k], where ε[k] is an empirically derived set of values.
 4. The echo canceller of claim 3, wherein said stochastic quadratic descent estimator comprises a least mean square (LMS) estimator that includes said dynamically adjustable step size.
 5. An integrated circuit that includes an echo canceller adapted for use in a communication system that includes a hybrid circuit that provides a return signal, said echo canceller comprising: an adaptive digital filter that generates an estimated echo signal {circumflex over (z)}[k] in response to (i) a sampled input data sequence x[k] and (ii) an error signal sequence e[k] indicative of the difference between a near end signal sequence y[k] and the estimated echo signal {circumflex over (z)}[k], wherein said adaptive digital filter computes filter coefficients based upon said error signal sequence e[k] using a stochastic quadratic descent estimator that employs a dynamically adjustable step size vector μ[k] and said adaptive digital filter comprises means for computing said dynamically adjustable step size vector μ[k] of the form ${\underset{\_}{\mu}\left\lbrack {k + 1} \right\rbrack} = {{{\underset{\_}{\mu}\lbrack k\rbrack} + {\alpha \quad {{\underset{\_}{\varphi}\lbrack k\rbrack} \cdot {\underset{\_}{x}\lbrack k\rbrack}}{e\lbrack k\rbrack}}}|_{\mu_{\min}}^{\mu_{\max}},}$

, where φ[k+1]=φ[k]•(1−μ[k]•x ²[k])+e[k]x[k] and α is a scalar.
 6. The integrated circuit of claim 5, wherein said stochastic quadratic descent estimator comprises a least mean square (LMS) estimator that includes said dynamically adjustable step size.
 7. A digital signal processor that includes executable program instructions to provide an echo canceller adapted for use in a communication system which includes a hybrid circuit that provides a return signal, said echo canceller comprising: an adaptive digital filter that generates an estimated echo signal {circumflex over (z)}[k] in response to (i) a sampled input data sequence x[k] and (ii) an error signal sequence e[k] indicative of the difference between a near end signal sequence y[k] and the estimated echo signal {circumflex over (z)}[k], wherein said adaptive digital filter computes filter coefficients based upon said error signal sequence e[k] using a stochastic quadratic descent estimator that employs a dynamically adjustable step size vector μ[k] and said adaptive digital filter comprises means for computing said dynamically adjustable step size vector μ[k] of the form ${{\underset{\_}{\mu}\left\lbrack {k + 1} \right\rbrack} = {{{\underset{\_}{\mu}\lbrack k\rbrack} + {\alpha \quad {{\underset{\_}{\varphi}\lbrack k\rbrack} \cdot {\underset{\_}{x}\lbrack k\rbrack}}{e\lbrack k\rbrack}}}|_{\mu_{\min}}^{\mu_{\max}}}},$

, where φ[k+1]=φ[k]•(1−μ[k]•x ²[k])+e[k]x[k] and α is a scalar.
 8. The echo canceller of claim 3, wherein said stochastic quadratic descent estimator comprises a least mean square (LMS) estimator that includes said dynamically adjustable step size. 